package com.example.assetmanagement.service;

import com.example.assetmanagement.common.PageRequest;
import com.example.assetmanagement.common.PageResponse;
import com.example.assetmanagement.domain.Maintenance;

import java.util.List;
import java.util.Map;

public interface MaintenanceService {

    PageResponse<Maintenance> list(PageRequest pageRequest, Long assetId, String assetName, Integer status, String type, Integer priority, String startDate, String endDate);

    Maintenance getById(Long id);

    void add(Maintenance maintenance);

    void update(Long id, Maintenance maintenance);

    void delete(Long id);

    void batchDelete(List<Long> ids);

    void updateStatus(Long id, Integer status);

    List<Maintenance> getByAsset(Long assetId);

    Map<String, Object> stats();
} 